package org.edu.modules.act.service;

import javax.xml.stream.XMLStreamException;
import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.Map;

/**
 * 模型信息的业务逻辑接口层
 * 
 * @版权所有 福州土著人信息科技有限公司
 */
public interface ModelService {

	/**
	 * 查询模型分页
	 * 
	 * @param currentPage 当前页数
	 * @param pageSize    每页记录数
	 * @param name        模型名称
	 * @return
	 */
	LinkedHashMap<String, Object> queryModel(Integer currentPage, Integer pageSize, String name);

	/**
	 * 新增模型
	 * 
	 * @param name        模型名称
	 * @param category    模型类别
	 * @param description 模型描述
	 */
	void addModel(String name, String category, String description);

	/**
	 * 编辑模型
	 * 
	 * @param modelId  模型ID
	 * @param name     模型名称
	 * @param category 模型类别
	 * @throws IOException
	 */
	void updateModel(String modelId, String name, String category) throws IOException;

	/**
	 * 部署模型
	 * 
	 * @param modelId 模型ID
	 * @throws IOException
	 * @throws XMLStreamException
	 */
	void deployModel(String modelId) throws IOException, XMLStreamException;

	/**
	 *
	 * 获取模型的类型集合
	 *
	 */
	Map<String, Object> getModelType();

	/**
	 * 删除模型
	 * 
	 * @param modelId 模型ID
	 */
	void deleteModel(String[] modelId);

}
